OpenCost (CNCF sandbox) and Kubecost (commercial version) solve a basic Kubernetes problem: “how much does each namespace cost?”. Cloud bills group by resource/tag, not by K8s workload. Kubecost maps AWS/GCP/Azure billing to K8s constructs: pods, deployments, namespaces, labels.
What They Offer
- Cost allocation: per pod, namespace, label, deployment.
- Optimisation recommendations: right-sizing, spot, abandoned workloads.
- Cloud billing integration: AWS CUR, GCP Billing Export, Azure.
- Showback/Chargeback: internal team invoices.
- Forecasting: cost predictions.
- Alerting: budget-exceeded notifications.
OpenCost vs Kubecost
| Aspect | OpenCost | Kubecost |
|---|---|---|
| License | Apache 2.0 | Free tier + paid |
| Cost allocation | Yes | Yes |
| Cloud billing | Basic | Advanced |
| Multi-cluster | Limited | Yes |
| UI | Basic | Rich |
| Support | Community | Commercial |
OpenCost = free essentials. Kubecost = paid features (enterprise).
Installation
Helm:
helm repo add opencost https://opencost.github.io/opencost-helm-chart
helm install opencost opencost/opencost
# Or Kubecost
helm repo add kubecost https://kubecost.github.io/cost-analyzer/
helm install kubecost kubecost/cost-analyzer \
--set kubecostToken="your-token"
Deploy requires:
- Prometheus scraping.
- Cloud IAM permissions for billing APIs.
Cost Allocation Accuracy
Factors:
- Prometheus data resolution: 5-minute intervals decent.
- CSV / billing integration: more precise.
- Historical data: typically 15-30 days.
- Idle cost distribution: allocation of underused nodes.
Typical accuracy: 85-95% vs real invoice.
Recommendations
Kubecost suggests:
- Rightsizing: reduce requests (overprovisioned pods).
- Spot instances: tolerant workloads.
- Reserved instances: long-running steady.
- Abandoned workloads: 0-traffic deployments.
- Unhealthy pods: consuming without delivering value.
Typical savings identified: 20-40% first month.
Internal Showback
Report to teams:
Team Frontend
- namespace: frontend-prod: $1,230/mo
- namespace: frontend-staging: $180/mo
- total: $1,410
Team Backend
- namespace: api-prod: $3,450/mo
- namespace: workers: $890/mo
- total: $4,340
Transparency accountability incentivises efficiency.
Cloud Integration
AWS
- Cost and Usage Report (CUR) in S3.
- IAM role with ce:GetCostAndUsage.
- RDS, EKS, ELB: pricing data.
GCP
- Billing Export to BigQuery.
- Service account with billing.viewer.
Azure
- Cost Management Export.
- Service principal with billing reader.
Setup takes a few hours per cloud.
K8s-Specific Metrics
Kubecost tracks:
- CPU allocation vs usage per pod.
- Memory allocation vs usage.
- Storage PVC per namespace.
- Network egress (limited visibility).
- GPU utilisation.
Alerting
alerts:
- name: namespace-over-budget
type: budget
namespace: production
threshold: 5000 # $5k/month
window: 30d
recipients:
- slack:devops
- email:finance@company.com
Proactive cost alerts.
Data Export
Kubecost exposes metrics:
- Prometheus endpoint.
- REST API for cost data.
- CSV export.
- Official Grafana dashboards.
Integrates with enterprise FinOps tools (Apptio, Cloudability).
Optimisation Workflow
- Baseline: measure current monthly cost.
- Identify top spenders: Pareto — 20% of workloads are 80% of cost.
- Right-size: CPU/memory requests optimisation.
- Policy: LimitRange, ResourceQuota.
- Spot strategy: tolerant workloads → spot.
- Monitor savings: continuous trend.
Iterative monthly-quarterly process.
FinOps Practices
FinOps framework phases:
- Inform: visibility (Kubecost provides).
- Optimise: acting on data.
- Operate: continuous improvement.
Kubecost is tool. Process + culture is real FinOps.
Real Cases
- Adobe: enterprise-wide Kubecost.
- Ford: K8s FinOps via Kubecost.
- Many startups: free tier sufficient.
Teams report 25-40% K8s-spend reduction.
Limitations
- Network cost: ingress/egress attribution hard.
- Shared services: e.g. shared Redis, how to allocate.
- Accuracy gaps with spot/reservations.
- UI overhead: learning curve.
Complementary Options
- CloudHealth, Cloudability: multi-cloud enterprise FinOps.
- Vantage: modern SaaS.
- Cast.ai: automated K8s optimisation.
For complex enterprise, combo Kubecost + enterprise FinOps.
Conclusion
Kubecost/OpenCost transforms K8s spend from black box to managed cost. For clusters >$5k/mo, clear ROI — savings usually exceed software cost. Free OpenCost covers essentials; Kubecost Business+ worth it for multi-cluster and advanced cloud billing features. Implementation is setup day + weeks iterating recommendations. For serious K8s FinOps, fundamental tool.
Follow us on jacar.es for more on FinOps, Kubernetes, and cost optimisation.